SSM PatchManager の Patch Now / (パッチ適応(いますぐ適用))を複数台で同時実行する方法を教えてください

SSM PatchManager の Patch Now / (パッチ適応(いますぐ適用))を複数台で同時実行する方法を教えてください

Clock Icon2024.12.03

困っていること

SSM PatchManager の Patch Now / (パッチ適応(いますぐ適用))を複数台で実行しました。
しかしながら 1 台ずつ順番に Scan and install 実行されているため、弊社運用要件に合わせて全て同時実行させたいです。
方法があれば教えてください。

どう対応すればいいの?

PatchManager のマネジメントコンソール画面より Patch Now / (パッチ適応(いますぐ適用)) から実行した場合、同時実行数設定といったレート制御は叶いません。仕様としてレート制御は以下の設定値で実行されます。

  • 同時実行数 : 1
  • エラーのしきい値 : 1

https://docs.aws.amazon.com/ja_jp/systems-manager/latest/userguide/patch-manager-patch-now-on-demand.html

代替案

初めて PatchManager のマネジメントコンソール画面より Patch Now / (パッチ適応(いますぐ適用)) から実行した際、裏側ではステートマネージャーと関連付けが行われます。
より具体的には、関連付けの名前: AWS-PatchNowAssociation とドキュメント名: AWS-RunPatchBaseline が関連付けされています。
そのため、こちらを利用して対象ステートマネージャー関連 ID よりレート制御のセクションで、同時実行数をターゲット対象の EC2 インスタンス数と同数に設定を行えば可能です。
なお、こちらの方法でも PatchManager のダッシュボードへ問題なく反映されるためご安心ください。

https://docs.aws.amazon.com/ja_jp/systems-manager/latest/userguide/systems-manager-state-manager-targets-and-rate-controls.html

同時実行数は、一度に特定の数のノードだけが関連付けを処理できるよう指定することで、ノードへの影響を制限するのに役立ちます。ノードの絶対数 (20 など) またはノードのターゲットセットの割合 (10% など) を指定できます。

やってみた

今回は検証のため、マネージドノードに登録されるように 3 台の EC2 インスタンスを起動しました。

スクリーンショット 2024-12-03 131106

PatchManager のマネジメントコンソール画面より Patch Now / (パッチ適応(いますぐ適用)) をクリックします。

02

起動した Test-Server 1 台のみを対象に Scan and install を実行します。

03

関連付けがされたので、完了するまでしばらく待ちます。

04

完了しました。もちろん他 2 台については Scan and install はされていません。

05

06

ステートマネージャーを確認します。想定通りに関連付けされています。
また、同時実行数は 1 であり、エラーのしきい値は 1 であることも確認できました。

07

08

では、こちらの対象ステートマネージャー関連 ID より編集を行います。

09

関連付けの詳細の指定、ドキュメント、パラメーターは変更せずそのままに、ターゲットの選択にて EC2 インスタンス を新たに選択します。

10

スケジュールを指定のセクションでは、スケジュールなしを選択します。
その後、Scan and install 時に同時実行されるように、レート制御します。新たに選択した EC2 インスタンス数に設定します。今回のケースでは 2 と設定しました。

11

これで、設定は終了です。関連付けのバージョンが 2 となっています。

12

ステータスが「成功」になったので、PatchManager のマネジメントコンソールを確認します。

13

14

15

PatchManager のダッシュボード側にも反映されていることを確認できました。

補足

今後の運用で必要のない、例えば Test-Server を削除すれば、自動的に PatchManager のダッシュボード側も反映されません。

16

17

参考資料

Share this article

facebook logohatena logotwitter logo

© Classmethod, Inc. All rights reserved.